var threeSum = function(nums) {
    nums.sort((a,b)=>a-b)
let res=[]
    for(let i=0;i<nums.length-1;i++){
        let l=i+1,r=nums.length-1
        if(nums[i]===nums[i-1]&&i>0){continue}
    while(l<r){
        let sum=nums[i]+nums[l]+nums[r]
        if(sum>0){
            r--
        }else if(sum<0){
            l++
        }else{
            res.push([nums[i],nums[l],nums[r]])
           while(l<r&&nums[l]===nums[l+1]){//这里容易出错，应该是与后面的作比较，这样就跳过后面相等的
                l++
            }
            while(l<r&&nums[r]===nums[r-1]){
                r--
            }
              l++
              r--
            }
        }}
        return res
    }
    
   
